package com.limanyik.family.common.entity;

import com.baomidou.mybatisplus.annotation.IdType;

import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;

import java.io.Serializable;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 系统-OSS阿里云服务文件表
 * </p>
 *
 * @author admin
 * @since 2021-11-24
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class BasisAlibabaOssFile implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "ID", type = IdType.ID_WORKER_STR)
    private String id;

    /**
     * 版本号
     */
    @TableField("VERSION")
    private Integer version;

    /**
     * 创建时间
     */
    @TableField("CREATE_TIME")
    private LocalDateTime createTime;

    /**
     * 创建人ID
     */
    @TableField("CREATOR_ID")
    private String creatorId;

    /**
     * 创建人，发起人
     */
    @TableField("CREATOR_NAME")
    private String creatorName;

    /**
     * 更新时间
     */
    @TableField("UPDATE_TIME")
    private LocalDateTime updateTime;

    /**
     * 更新人ID
     */
    @TableField("UPDATER_ID")
    private String updaterId;

    /**
     * 更新人
     */
    @TableField("UPDATER_NAME")
    private String updaterName;

    /**
     * 是否删除
     */
    @TableField("DELETE_STATUS")
    private Integer deleteStatus;

    /**
     * 文件名称
     */
    @TableField("NAME")
    private String name;

    /**
     * 文件大小
     */
    @TableField("SIZE")
    private Long size;

    /**
     * 上传URL
     */
    @TableField("UPLOAD_THE_URL")
    private String uploadTheUrl;

    /**
     * 服务下载URL
     */
    @TableField("SERVER_NETWORK_DOWNLOAD_URL")
    private String serverNetworkDownloadUrl;

    /**
     * 公网下载URL
     */
    @TableField("PUBLIC_NETWORK_DOWNLOAD_URL")
    private String publicNetworkDownloadUrl;

    /**
     * 文件后缀
     */
    @TableField("SUFFIX")
    private String suffix;

    /**
     * 文件类型CODE(字典表)
     */
    @TableField("TYPE_CODE")
    private String typeCode;

    /**
     * ACL
     */
    @TableField("ACL")
    private String acl;

    /**
     * 存储类型
     */
    @TableField("STORAGE_CLASS")
    private String storageClass;

    /**
     * BucketId
     */
    @TableField("BUCKET_ID")
    private String bucketId;

    /**
     * 服务器端加密
     */
    @TableField("SERVER_SIDE_ENCRYPTION")
    private String serverSideEncryption;

    /**
     * 服务器端是否加密
     */
    @TableField("WHETHER_THE_SERVER_IS_ENCRYPTED")
    private Integer whetherTheServerIsEncrypted;


}
